package com.boatAnchorAssistant.pojo.param.alarm;

import com.boatAnchorAssistant.pojo.enums.alarm.AlarmStatusEnum;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.*;
import java.util.List;


/**
* 【描 述】：
* 【环 境】：J2SE 17
* 【详 细】：
*
*/
@Data
public class CreateAlarmParam {

    /**
     * 设备id
     */
    private Long deviceId;


    /**
    *  事件分组id
    */
    private Long eventId;

    /**
    *  所属报警类型id
    */
    private Long typeId;

    /**
    *  报警等级id-数据字典
    */
    private Long levelId;

    /**
    *  报警区域id-数据字典
    */
    private Long areaId;

    /**
    *  报警时间
    */
    private LocalDateTime alarmTime;

    /**
    *  航速
    */
    private String speed;

    /**
    *  经度
    */
    private String longitude;

    /**
    *  纬度
    */
    private String latitude;

    /**
    *  报警图片
    */
    private List<String> imageList;

    /**
    *  报警视频
    */
    private List<String> videoList;

    /**
    *  状态
    */
    private AlarmStatusEnum status;

    /**
     * 值班等级
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "值班等级")
    private String dutyLevel;

    /**
     * 报警海域
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "报警海域")
    private String region;

    /**
     * 船舶状态
     */
    @Column(type = MySqlTypeConstant.VARCHAR,
            comment = "船舶状态")
    private String shipStatus;

    /**
     * 报警原因id
     */
    @Column(type = MySqlTypeConstant.BIGINT,
            comment = "报警原因id")
    private Long causeId;
}